

import urllib.request


#获取一个get方式
# response=urllib.request.urlopen("http://www.baidu.com")#用response保存所有网页的内容
# print(response.read().decode('utf-8'))#通过read（）方法读取网页的，当用read（）获取到的网页源码，做一个utf-8的解码

'''

#获取一个post方式，主要模拟有用户登录的信息，用字典
#用urllib模拟浏览器发生的请求
#用post方式访问别人，那么必须按照post方式访问数据
import urllib. parse  #解析
data = bytes(urllib.parse.urlencode({"helldata = data)
print(response.read().decode("utf-8"))o":"world"}),encoding="utf-8")#把里面所有的信息转换成二进制的信息，也就是变成字节文件
response  = urllib.request.urlopen("http://www.httpbin.org/post",
#真实浏览器收到的，与模拟浏览器的关系
'''
#超时处理


# try:
#     response  = urllib.request.urlopen("http://www.httpbin.org/post",timeout=0.01)#超时
#     print(response.read().decode("utf-8"))
# except urllib.error.URLError as e:
#     print("timeout")



#url = "http://www.douban.com"
'''
url = "http://www.httpbin.org/post"
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36 Edg/92.0.902.55"}
data = bytes(urllib.parse.urlencode({'name':'eric'}),encoding = "utf-8")
req = urllib.request.Request(url=url,data= data,headers=headers,method="POST")#需要一个对象进行包装
#请求对象构建好了，下面需要一个响应
response = urllib.request.urlopen(req)
print(response.read().decode("utf-8"))

'''




url = "http://www.douban.com"
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36 Edg/92.0.902.55"}
req = urllib.request.Request(url=url,headers=headers)#需要一个对象进行包装,用get就可以了
response = urllib.request.urlopen(req)
print(response.read().decode("utf-8"))